package com.hly.backup.leetCode;

import java.util.Arrays;

/**
 * @author :hly
 * @github :https://github.com/huangliangyun
 * @blog :http://www.javahly.com/
 * @CSDN :blog.csdn.net/Sirius_hly
 * @date :2019/6/1
 * @QQ :1136513099
 * @desc :
 */
//274. H指数*
//给定一位研究者论文被引用次数的数组。编写一个方法，计算出研究者的 h 指数。
//h 指数的定义: “h 代表“高引用次数”（high citations），一名科研人员的 h 指数是指他（她）的 （N 篇论文中）至多有 h 篇论文分别被引用了至少 h 次。（其余的 N - h 篇论文每篇被引用次数不多于 h 次。）”
//输入: citations = [3,0,6,1,5]
//输出: 3
//解释: 给定数组表示研究者总共有 5 篇论文，每篇论文相应的被引用了 3, 0, 6, 1, 5 次。
//     由于研究者有 3 篇论文每篇至少被引用了 3 次，其余两篇论文每篇被引用不多于 3 次，所以她的 h 指数是 3。

public class HIndex {

    public static int hIndex(int[] citations) {
        Arrays.sort(citations);
        for(int i=0;i<citations.length;i++){
            int h = citations.length-i;
            if(h<=citations[i]){//h,几篇论文
                return h;
            }
        }
        return 0;

    }

    public static void main(String[] args){
        System.out.println(hIndex(new int[]{2,0,6,1,5}));
    }
}
